package com.mezz.bones.im.logic.service;

import com.mezz.bones.im.common.domain.user.ImUserBaseInfo;
import com.mezz.bones.im.logic.domain.entity.ChatUser;
import com.mezz.bones.im.logic.domain.request.ApiUserDeleteRequest;
import com.mezz.bones.im.logic.domain.request.ApiUserImportRequest;
import com.mezz.bones.im.logic.domain.request.ApiUserUpdateRequest;

import java.util.Collection;
import java.util.List;


/**
 * <p>
 * IM单聊 服务类
 * </p>
 *
 * @author mezz
 * @since 2024-12-20
 */
public interface IChatUserService {

    void removeByUserId(String userId);

    ChatUser getByUserId(String id);

    ImUserBaseInfo getUserBaseInfo(String userId);

    void importUser(ApiUserImportRequest user);

    void updateUser(ApiUserUpdateRequest request);

    void deleteUser(ApiUserDeleteRequest request);

    List<ChatUser> getByUserIds(Collection<String> userIds);
}
